WSL2 安装 ArchLinux

您所在的位置:网站首页 archlinux locale WSL2 安装 ArchLinux

WSL2 安装 ArchLinux

2023-03-18 09:05| 来源: 网络整理| 查看: 265

The Arch Way

Arch 的核心原则是 KISS(Keep It Simple Stupid)。这让它和 Ubuntu , RedHat 有着显著的区别。后者会考虑到开箱即用,而Arch不会,Arch会尽可能的保持和上游一致,而只做最小范围的更改。

Arch 崇尚的 KISS 不是站在使用者的角度出发的,而是站在维护者的角度出发的。软件打包或者说封装集成上,应该尽可能的的简单,最好什么都不做。然后提供手册,由用户自己要去进行组装配置。

本文将分享一个手动导入 archlinux-bootstrap 镜像文件,搭建基础的 ArchLinux WSL2 命令行环境的配置方法。

如果你觉得本文的配置方法太复杂,那么建议你使用 ArchWSL 项目: https://github.com/yuk7/ArchWSL

当然对于 Arch 用户而言,折腾其实是一种乐趣。如果你体会不到这种乐趣,那么可能 Arch 并不适合你。

环境要求win 10 / 11 最新版本系统默认 WSL 版本为 2 wsl --set-default-version 2已通过 wsl --install 安装过一个其他的 WSL2 发行版,或者有其他 Linux 机器。用于生成 rootfs 文件

我当前(2023/3/13)的软件版本为:

wsl --version ---- WSL version: 1.1.3.0 Kernel version: 5.15.90.1 WSLg version: 1.0.49 MSRDC version: 1.2.3770 Direct3D version: 1.608.2-61064218 DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp Windows version: 10.0.22621.1265打包 rootfs

ArchLinux 的镜像仓储中,会保存一份 archlinux-bootstrap-x86_64.tar.gz 文件,是当前最新版本的 bootstrap tar镜像。我们可以通过 tar/bsdtar 命令将其转换为 WSL 所需的 rootfs 文件。

在已有的 WSL2 发行版中,执行下述命令

# 切换到家目录 cd ~ # 从清华镜像下载 bootstrap-x86_64.tar.gz wget https://mirrors.tuna.tsinghua.edu.cn/archlinux/iso/latest/archlinux-bootstrap-x86_64.tar.gz # 使用bsdtar解压bootstrap tar.gz压缩文件 # 使用bsdtar而非tar是因为GNU tar不会保留拓展属性(extended attributes) # https://wiki.archlinux.org/title/Full_system_backup_with_tar sudo bsdtar -xpvf archlinux-bootstrap-x86_64.tar.gz # 重新压缩为archlinux-bootstrap.tar文件 sudo bsdtar -cpvf archlinux-bootstrap.tar -C root.x86_64 . # 移动archlinux-bootstrap.tar到D盘 mv archlinux-bootstrap.tar /mnt/d

在Windows中导入 archlinux-bootstrap.tar 为 Arch WSL2发行版

wsl --import Arch C:\Arch D:\archlinux-bootstrap.tar

至此你已经有了一个可用的 Arch WSL 发行版,但是就和安装 Arch 一样,你还是需要进行一些初始配置。

配置 locale

设置 en_US.UTF-8

sed -i -e "s/^#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/" /etc/locale.gen locale-gen echo 'LANG=en_US.UTF-8' > /etc/locale.conf locale配置 pacman# 配置镜像 echo 'Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch' > /etc/pacman.d/mirrorlist # 配置缓存策略,仅保存当前包版本 sed -i -e "s/^#CleanMethod = KeepInstalled/CleanMethod = KeepCurrent/" /etc/pacman.conf # 初始化 keyring,这是关键安全配置 # https://wiki.archlinux.org/title/Pacman/Package_signing pacman-key --init && pacman-key --populate pacman -Sy archlinux-keyring && pacman -Su安装必备软件

看自己的需求,安装必备软件

pacman -S --needed vim sudo wget man配置 systemd

启用官方的 systemd,并检查是否存在失败服务,如果有则禁用。

一般来说基于bootstrap.tar.gz 导入的系统镜像,systemd 不会有太大问题,但如果是参考官方文档,通过 Docker 导出的镜像tar,就需要注意禁用失败的 Service,否则会遇到 Docker 启动失败或启动特别慢的问题。

# 启用 systemd echo -e "[boot]\nsystemd=true" | sudo tee -a /etc/wsl.conf ps --no-headers -o comm 1 # 关闭 wsl 使 systemd 生效 wsl --shutdown # 禁用启动失败的服务 FAILED_SERVICES=`systemctl list-units --type=service --state=failed --quiet | awk '{print $2}'` echo $FAILED_SERVICES systemctl mask FAILED_SERVICES # 查看正在运行的服务 systemctl list-units --type=service --state=running配置用户

创建一个用户“ws”,并允许其使用 sudo

# 配置 sudo EDITOR=vim visudo -- %wheel ALL=(ALL:ALL) ALL # 新增用户 ws 并加入 wheel用户组 useradd ws -m -G wheel -s /bin/bash # 设置用户密码 passwd ws # 设置 ws 为默认用户 echo -e "[user]\ndefault = ws" >> /etc/wsl.conf # 禁用 root 账户 passwd -l root # 重启 wsl 使配置生效 wsl --shutdown安装 docker

在 Arch 中安装 Docker还是比较简单的,官方源里自带了。 这里我配置了日志文件最大为100m,并使用了网易的Docker镜像。

sudo pacman -S docker sudo usermod -aG docker ws newgrp docker sudo mkdir /etc/docker MIRROR=http://hub-mirror.c.163.com cat


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3